#define _CRT_SECURE_NO_WARNINGS 1
#include<iostream>
using namespace std;
class A
{
public:
	//构造函数
	A(int a = 0)
		:_a(a)
	{
		cout << "A(int a)调用一次构造" << endl;
	}

	//拷贝函数
	A(const A& aa)
		:_a(aa._a)
	{
		cout << "A(const A& aa)调用一次拷贝" << endl;
	}

	//赋值重载函数
	A& operator=(const A& aa)
	{
		cout << "A& operator=(const A& aa)调用一次赋值" << endl;

		if (this != &aa)
		{
			_a = aa._a;
		}

		return *this;
	}

	//构析函数
	~A()
	{
		cout << "~A()调用一次构析" << endl;
	}
private:
	int _a;
};


A func()
{
	A aa;
	return aa;
}

int main()
{
	func();

	return 0;
}